home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Language/OS - Multiplatform Resource Library
/
LANGUAGE OS.iso
/
lisp
/
kcl
/
kcl.lha
/
lsp
/
setf.c
< prev
next >
Wrap
C/C++ Source or Header
|
1987-06-04
|
45KB
|
1,780 lines
/* (C) Copyright Taiichi Yuasa and Masami Hagiya, 1984. All rights reserved. */
#include <cmpinclude.h>
#include "setf.h"
init_setf(start,size,data)char *start;int size;object data;
{ register object *base=vs_top;register object *sup=base+VM2;vs_top=sup;vs_check;
Cstart=start;Csize=size;Cdata=data;set_VV(VV,VM1,data);
MM(VV[196],L1,start,size,data);
MM(VV[197],L2,start,size,data);
MF(VV[198],L3,start,size,data);
MF(VV[199],L4,start,size,data);
(void)(putprop(VV[29],VV[30],VV[27]));
(void)(remprop(VV[29],VV[26]));
(void)(remprop(VV[29],VV[25]));
(void)(putprop(VV[29],Cnil,VV[31]));
(void)(putprop(VV[32],VV[33],VV[27]));
(void)(remprop(VV[32],VV[26]));
(void)(remprop(VV[32],VV[25]));
(void)(putprop(VV[32],Cnil,VV[31]));
(void)(putprop(VV[34],VV[35],VV[27]));
(void)(remprop(VV[34],VV[26]));
(void)(remprop(VV[34],VV[25]));
(void)(putprop(VV[34],Cnil,VV[31]));
(void)(putprop(VV[36],VV[37],VV[27]));
(void)(remprop(VV[36],VV[26]));
(void)(remprop(VV[36],VV[25]));
(void)(putprop(VV[36],Cnil,VV[31]));
(void)(putprop(VV[38],VV[39],VV[27]));
(void)(remprop(VV[38],VV[26]));
(void)(remprop(VV[38],VV[25]));
(void)(putprop(VV[38],Cnil,VV[31]));
(void)(putprop(VV[40],VV[41],VV[27]));
(void)(remprop(VV[40],VV[26]));
(void)(remprop(VV[40],VV[25]));
(void)(putprop(VV[40],Cnil,VV[31]));
(void)(putprop(VV[42],VV[43],VV[27]));
(void)(remprop(VV[42],VV[26]));
(void)(remprop(VV[42],VV[25]));
(void)(putprop(VV[42],Cnil,VV[31]));
(void)(putprop(VV[44],VV[45],VV[27]));
(void)(remprop(VV[44],VV[26]));
(void)(remprop(VV[44],VV[25]));
(void)(putprop(VV[44],Cnil,VV[31]));
(void)(putprop(VV[46],VV[47],VV[27]));
(void)(remprop(VV[46],VV[26]));
(void)(remprop(VV[46],VV[25]));
(void)(putprop(VV[46],Cnil,VV[31]));
(void)(putprop(VV[48],VV[49],VV[27]));
(void)(remprop(VV[48],VV[26]));
(void)(remprop(VV[48],VV[25]));
(void)(putprop(VV[48],Cnil,VV[31]));
(void)(putprop(VV[50],VV[51],VV[27]));
(void)(remprop(VV[50],VV[26]));
(void)(remprop(VV[50],VV[25]));
(void)(putprop(VV[50],Cnil,VV[31]));
(void)(putprop(VV[52],VV[53],VV[27]));
(void)(remprop(VV[52],VV[26]));
(void)(remprop(VV[52],VV[25]));
(void)(putprop(VV[52],Cnil,VV[31]));
(void)(putprop(VV[54],VV[55],VV[27]));
(void)(remprop(VV[54],VV[26]));
(void)(remprop(VV[54],VV[25]));
(void)(putprop(VV[54],Cnil,VV[31]));
(void)(putprop(VV[56],VV[57],VV[27]));
(void)(remprop(VV[56],VV[26]));
(void)(remprop(VV[56],VV[25]));
(void)(putprop(VV[56],Cnil,VV[31]));
(void)(putprop(VV[58],VV[59],VV[27]));
(void)(remprop(VV[58],VV[26]));
(void)(remprop(VV[58],VV[25]));
(void)(putprop(VV[58],Cnil,VV[31]));
(void)(putprop(VV[60],VV[61],VV[27]));
(void)(remprop(VV[60],VV[26]));
(void)(remprop(VV[60],VV[25]));
(void)(putprop(VV[60],Cnil,VV[31]));
(void)(putprop(VV[62],VV[63],VV[27]));
(void)(remprop(VV[62],VV[26]));
(void)(remprop(VV[62],VV[25]));
(void)(putprop(VV[62],Cnil,VV[31]));
(void)(putprop(VV[64],VV[65],VV[27]));
(void)(remprop(VV[64],VV[26]));
(void)(remprop(VV[64],VV[25]));
(void)(putprop(VV[64],Cnil,VV[31]));
(void)(putprop(VV[66],VV[67],VV[27]));
(void)(remprop(VV[66],VV[26]));
(void)(remprop(VV[66],VV[25]));
(void)(putprop(VV[66],Cnil,VV[31]));
(void)(putprop(VV[68],VV[69],VV[27]));
(void)(remprop(VV[68],VV[26]));
(void)(remprop(VV[68],VV[25]));
(void)(putprop(VV[68],Cnil,VV[31]));
(void)(putprop(VV[70],VV[71],VV[27]));
(void)(remprop(VV[70],VV[26]));
(void)(remprop(VV[70],VV[25]));
(void)(putprop(VV[70],Cnil,VV[31]));
(void)(putprop(VV[72],VV[73],VV[27]));
(void)(remprop(VV[72],VV[26]));
(void)(remprop(VV[72],VV[25]));
(void)(putprop(VV[72],Cnil,VV[31]));
(void)(putprop(VV[74],VV[75],VV[27]));
(void)(remprop(VV[74],VV[26]));
(void)(remprop(VV[74],VV[25]));
(void)(putprop(VV[74],Cnil,VV[31]));
(void)(putprop(VV[76],VV[77],VV[27]));
(void)(remprop(VV[76],VV[26]));
(void)(remprop(VV[76],VV[25]));
(void)(putprop(VV[76],Cnil,VV[31]));
(void)(putprop(VV[78],VV[79],VV[27]));
(void)(remprop(VV[78],VV[26]));
(void)(remprop(VV[78],VV[25]));
(void)(putprop(VV[78],Cnil,VV[31]));
(void)(putprop(VV[80],VV[81],VV[27]));
(void)(remprop(VV[80],VV[26]));
(void)(remprop(VV[80],VV[25]));
(void)(putprop(VV[80],Cnil,VV[31]));
(void)(putprop(VV[82],VV[83],VV[27]));
(void)(remprop(VV[82],VV[26]));
(void)(remprop(VV[82],VV[25]));
(void)(putprop(VV[82],Cnil,VV[31]));
(void)(putprop(VV[84],VV[85],VV[27]));
(void)(remprop(VV[84],VV[26]));
(void)(remprop(VV[84],VV[25]));
(void)(putprop(VV[84],Cnil,VV[31]));
(void)(putprop(VV[86],VV[87],VV[27]));
(void)(remprop(VV[86],VV[26]));
(void)(remprop(VV[86],VV[25]));
(void)(putprop(VV[86],Cnil,VV[31]));
(void)(putprop(VV[88],VV[89],VV[27]));
(void)(remprop(VV[88],VV[26]));
(void)(remprop(VV[88],VV[25]));
(void)(putprop(VV[88],Cnil,VV[31]));
(void)(putprop(VV[90],VV[91],VV[27]));
(void)(remprop(VV[90],VV[26]));
(void)(remprop(VV[90],VV[25]));
(void)(putprop(VV[90],Cnil,VV[31]));
(void)(putprop(VV[92],VV[93],VV[27]));
(void)(remprop(VV[92],VV[26]));
(void)(remprop(VV[92],VV[25]));
(void)(putprop(VV[92],Cnil,VV[31]));
(void)(putprop(VV[94],VV[95],VV[27]));
(void)(remprop(VV[94],VV[26]));
(void)(remprop(VV[94],VV[25]));
(void)(putprop(VV[94],Cnil,VV[31]));
(void)(putprop(VV[96],VV[97],VV[27]));
(void)(remprop(VV[96],VV[26]));
(void)(remprop(VV[96],VV[25]));
(void)(putprop(VV[96],Cnil,VV[31]));
(void)(putprop(VV[98],VV[99],VV[27]));
(void)(remprop(VV[98],VV[26]));
(void)(remprop(VV[98],VV[25]));
(void)(putprop(VV[98],Cnil,VV[31]));
(void)(putprop(VV[100],VV[101],VV[27]));
(void)(remprop(VV[100],VV[26]));
(void)(remprop(VV[100],VV[25]));
(void)(putprop(VV[100],Cnil,VV[31]));
(void)(putprop(VV[102],VV[103],VV[27]));
(void)(remprop(VV[102],VV[26]));
(void)(remprop(VV[102],VV[25]));
(void)(putprop(VV[102],Cnil,VV[31]));
(void)(putprop(VV[104],VV[105],VV[27]));
(void)(remprop(VV[104],VV[26]));
(void)(remprop(VV[104],VV[25]));
(void)(putprop(VV[104],Cnil,VV[31]));
(void)(putprop(VV[106],VV[107],VV[27]));
(void)(remprop(VV[106],VV[26]));
(void)(remprop(VV[106],VV[25]));
(void)(putprop(VV[106],Cnil,VV[31]));
(void)(putprop(VV[108],VV[109],VV[27]));
(void)(remprop(VV[108],VV[26]));
(void)(remprop(VV[108],VV[25]));
(void)(putprop(VV[108],Cnil,VV[31]));
(void)(putprop(VV[110],VV[111],VV[27]));
(void)(remprop(VV[110],VV[26]));
(void)(remprop(VV[110],VV[25]));
(void)(putprop(VV[110],Cnil,VV[31]));
(void)(putprop(VV[112],VV[113],VV[26]));
(void)(remprop(VV[112],VV[27]));
(void)(remprop(VV[112],VV[25]));
(void)(putprop(VV[112],Cnil,VV[31]));
(void)(putprop(VV[114],VV[115],VV[26]));
(void)(remprop(VV[114],VV[27]));
(void)(remprop(VV[114],VV[25]));
(void)(putprop(VV[114],Cnil,VV[31]));
(void)(putprop(VV[116],VV[117],VV[26]));
(void)(remprop(VV[116],VV[27]));
(void)(remprop(VV[116],VV[25]));
(void)(putprop(VV[116],Cnil,VV[31]));
(void)(putprop(VV[118],VV[119],VV[26]));
(void)(remprop(VV[118],VV[27]));
(void)(remprop(VV[118],VV[25]));
(void)(putprop(VV[118],Cnil,VV[31]));
(void)(putprop(VV[120],VV[121],VV[27]));
(void)(remprop(VV[120],VV[26]));
(void)(remprop(VV[120],VV[25]));
(void)(putprop(VV[120],Cnil,VV[31]));
(void)(putprop(VV[122],VV[123],VV[26]));
(void)(remprop(VV[122],VV[27]));
(void)(remprop(VV[122],VV[25]));
(void)(putprop(VV[122],Cnil,VV[31]));
(void)(putprop(VV[124],VV[125],VV[27]));
(void)(remprop(VV[124],VV[26]));
(void)(remprop(VV[124],VV[25]));
(void)(putprop(VV[124],Cnil,VV[31]));
(void)(putprop(VV[126],VV[127],VV[27]));
(void)(remprop(VV[126],VV[26]));
(void)(remprop(VV[126],VV[25]));
(void)(putprop(VV[126],Cnil,VV[31]));
(void)(putprop(VV[128],VV[129],VV[26]));
(void)(remprop(VV[128],VV[27]));
(void)(remprop(VV[128],VV[25]));
(void)(putprop(VV[128],Cnil,VV[31]));
(void)(putprop(VV[130],VV[131],VV[26]));
(void)(remprop(VV[130],VV[27]));
(void)(remprop(VV[130],VV[25]));
(void)(putprop(VV[130],Cnil,VV[31]));
(void)(putprop(VV[132],VV[123],VV[26]));
(void)(remprop(VV[132],VV[27]));
(void)(remprop(VV[132],VV[25]));
(void)(putprop(VV[132],Cnil,VV[31]));
(void)(putprop(VV[133],VV[123],VV[26]));
(void)(remprop(VV[133],VV[27]));
(void)(remprop(VV[133],VV[25]));
(void)(putprop(VV[133],Cnil,VV[31]));
(void)(putprop(VV[134],VV[135],VV[26]));
(void)(remprop(VV[134],VV[27]));
(void)(remprop(VV[134],VV[25]));
(void)(putprop(VV[134],Cnil,VV[31]));
(void)(putprop(VV[136],VV[137],VV[26]));
(void)(remprop(VV[136],VV[27]));
(void)(remprop(VV[136],VV[25]));
(void)(putprop(VV[136],Cnil,VV[31]));
(void)(putprop(VV[138],VV[139],VV[27]));
(void)(remprop(VV[138],VV[26]));
(void)(remprop(VV[138],VV[25]));
(void)(putprop(VV[138],Cnil,VV[31]));
(void)(putprop(VV[140],VV[141],VV[27]));
(void)(remprop(VV[140],VV[26]));
(void)(remprop(VV[140],VV[25]));
(void)(putprop(VV[140],Cnil,VV[31]));
base[0]=
make_cclosure(LC338,Cnil,Cnil,Cdata,Cstart,Csize);
(void)(putprop(VV[142],base[0],VV[25]));
(void)(remprop(VV[142],VV[27]));
(void)(remprop(VV[142],VV[26]));
(void)(putprop(VV[142],Cnil,VV[31]));
(void)(putprop(VV[145],VV[146],VV[27]));
(void)(remprop(VV[145],VV[26]));
(void)(remprop(VV[145],VV[25]));
(void)(putprop(VV[145],Cnil,VV[31]));
base[0]=
make_cclosure(LC339,Cnil,Cnil,Cdata,Cstart,Csize);
(void)(putprop(VV[147],base[0],VV[25]));
(void)(remprop(VV[147],VV[27]));
(void)(remprop(VV[147],VV[26]));
(void)(putprop(VV[147],Cnil,VV[31]));
base[0]=
make_cclosure(LC340,Cnil,Cnil,Cdata,Cstart,Csize);
(void)(putprop(VV[148],base[0],VV[25]));
(void)(remprop(VV[148],VV[27]));
(void)(remprop(VV[148],VV[26]));
(void)(putprop(VV[148],Cnil,VV[31]));
base[0]=
make_cclosure(LC341,Cnil,Cnil,Cdata,Cstart,Csize);
(void)(putprop(VV[154],base[0],VV[25]));
(void)(remprop(VV[154],VV[27]));
(void)(remprop(VV[154],VV[26]));
(void)(putprop(VV[154],Cnil,VV[31]));
base[0]=
make_cclosure(LC342,Cnil,Cnil,Cdata,Cstart,Csize);
(void)(putprop(VV[156],base[0],VV[25]));
(void)(remprop(VV[156],VV[27]));
(void)(remprop(VV[156],VV[26]));
(void)(putprop(VV[156],Cnil,VV[31]));
base[0]=
make_cclosure(LC343,Cnil,Cnil,Cdata,Cstart,Csize);
(void)(putprop(VV[158],base[0],VV[25]));
(void)(remprop(VV[158],VV[27]));
(void)(remprop(VV[158],VV[26]));
(void)(putprop(VV[158],Cnil,VV[31]));
MF(VV[200],L325,start,size,data);
MF(VV[201],L326,start,size,data);
MM(VV[202],L327,start,size,data);
MM(VV[203],L328,start,size,data);
MM(VV[204],L329,start,size,data);
MM(VV[205],L330,start,size,data);
MM(VV[206],L331,start,size,data);
MM(VV[207],L332,start,size,data);
MM(VV[208],L333,start,size,data);
MM(VV[209],L334,start,size,data);
MM(VV[210],L335,start,size,data);
MM(VV[211],L336,start,size,data);
MM(VV[212],L337,start,size,data);
vs_top=vs_base=base;
}
/* macro definition for DEFSETF */
static L1()
{ register object *base=vs_base;
register object *sup=base+VM3;
vs_reserve(VM3);
check_arg(2);
vs_top=sup;
{object V1=base[0]->c.c_cdr;
if(endp(V1))invalid_macro_call();
base[2]= (V1->c.c_car);
V1=V1->c.c_cdr;
base[3]= V1;}
if((car(base[3]))==Cnil){
goto T328;}
if(type_of(car(base[3]))==t_symbol){
goto T327;}
base[4]= car(base[3]);
vs_top=(vs_base=base+4)+1;
Lfunctionp();
vs_top=sup;
if((vs_base[0])==Cnil){
goto T328;}
T327:;
base[4]= list(2,VV[2],base[2]);
base[5]= list(2,VV[2],car(base[3]));
base[6]= list(4,VV[1],base[4],base[5],VV[3]);
base[7]= list(2,VV[2],base[2]);
base[8]= list(3,VV[4],base[7],VV[5]);
base[9]= list(2,VV[2],base[2]);
base[10]= list(3,VV[4],base[9],VV[6]);
base[11]= list(2,VV[2],base[2]);
if(endp(cdr(base[3]))){
goto T337;}
if(type_of(cadr(base[3]))==t_string){
goto T339;}
base[13]= VV[7];
vs_top=(vs_base=base+13)+1;
Lerror();
vs_top=sup;
T339:;
if(endp(cddr(base[3]))){
goto T343;}
base[13]= VV[8];
vs_top=(vs_base=base+13)+1;
Lerror();
vs_top=sup;
T343:;
base[12]= cadr(base[3]);
goto T335;
T337:;
base[12]= Cnil;
T335:;
base[13]= list(4,VV[1],base[11],base[12],VV[9]);
base[14]= list(2,VV[2],base[2]);
base[15]= list(6,VV[0],base[6],base[8],base[10],base[13],base[14]);
vs_top=(vs_base=base+15)+1;
return;
T328:;
base[5]= cadr(base[3]);
vs_top=(vs_base=base+5)+1;
Llist_length();
vs_top=sup;
base[4]= vs_base[0];
if(number_compare(base[4],VV[10])==0){
goto T347;}
base[4]= VV[11];
vs_top=(vs_base=base+4)+1;
Lerror();
vs_top=sup;
T347:;
base[4]= list(2,VV[2],base[2]);
base[5]= list(2,VV[2],base[3]);
base[6]= list(4,VV[1],base[4],base[5],VV[12]);
base[7]= list(2,VV[2],base[2]);
base[8]= list(3,VV[4],base[7],VV[13]);
base[9]= list(2,VV[2],base[2]);
base[10]= list(3,VV[4],base[9],VV[14]);
base[11]= list(2,VV[2],base[2]);
base[13]= cddr(base[3]);
base[12]= simple_symlispcall_no_event(VV[213],base+13,1);
base[13]= list(4,VV[1],base[11],base[12],VV[15]);
base[14]= list(2,VV[2],base[2]);
base[15]= list(6,VV[0],base[6],base[8],base[10],base[13],base[14]);
vs_top=(vs_base=base+15)+1;
return;
}
/* macro definition for DEFINE-SETF-METHOD */
static L2()
{ register object *base=vs_base;
register object *sup=base+VM4;
vs_reserve(VM4);
check_arg(2);
vs_top=sup;
{object V2=base[0]->c.c_cdr;
if(endp(V2))invalid_macro_call();
base[2]= (V2->c.c_car);
V2=V2->c.c_cdr;
base[3]= V2;}
base[4]= list(2,VV[2],base[2]);
base[5]= make_cons(VV[17],base[3]);
base[6]= list(2,VV[16],base[5]);
base[7]= list(4,VV[1],base[4],base[6],VV[18]);
base[8]= list(2,VV[2],base[2]);
base[9]= list(3,VV[4],base[8],VV[19]);
base[10]= list(2,VV[2],base[2]);
base[11]= list(3,VV[4],base[10],VV[20]);
base[12]= list(2,VV[2],base[2]);
base[14]= cdr(base[3]);
base[13]= simple_symlispcall_no_event(VV[213],base+14,1);
base[14]= list(4,VV[1],base[12],base[13],VV[21]);
base[15]= list(2,VV[2],base[2]);
base[16]= list(6,VV[0],base[7],base[9],base[11],base[14],base[15]);
vs_top=(vs_base=base+16)+1;
return;
}
/* function definition for GET-SETF-METHOD */
static L3()
{ register object *base=vs_base;
register object *sup=base+VM5;
vs_reserve(VM5);
check_arg(1);
vs_top=sup;
TTL:;
base[2]= base[0];
vs_top=(vs_base=base+2)+1;
L4();
Llist();
vs_top=sup;
base[1]= vs_base[0];
base[2]= car(base[1]);
base[3]= cadr(base[1]);
base[4]= caddr(base[1]);
base[5]= cadddr(base[1]);
base[6]= car(cddddr(base[1]));
base[8]= base[4];
vs_top=(vs_base=base+8)+1;
Llist_length();
vs_top=sup;
base[7]= vs_base[0];
if(number_compare(base[7],VV[10])==0){
goto T365;}
base[7]= VV[22];
vs_top=(vs_base=base+7)+1;
Lerror();
vs_top=sup;
T365:;
base[7]= base[2];
base[8]= base[3];
base[9]= base[4];
base[10]= base[5];
base[11]= base[6];
vs_top=(vs_base=base+7)+5;
return;
}
/* function definition for GET-SETF-METHOD-MULTIPLE-VALUE */
static L4()
{ register object *base=vs_base;
register object *sup=base+VM6;
vs_reserve(VM6);
check_arg(1);
vs_top=sup;
TTL:;
if(!(type_of(base[0])==t_symbol)){
goto T377;}
vs_base=vs_top;
Lgensym();
vs_top=sup;
base[1]= vs_base[0];
base[2]= Cnil;
base[3]= Cnil;
base[4]= make_cons(base[1],Cnil);
base[5]= list(3,VV[23],base[0],base[1]);
base[6]= base[0];
vs_top=(vs_base=base+2)+5;
return;
T377:;
if(!(type_of(base[0])==t_cons)){
goto T385;}
if(type_of(car(base[0]))==t_symbol){
goto T386;}
T385:;
base[1]= VV[24];
base[2]= base[0];
vs_top=(vs_base=base+1)+2;
Lerror();
return;
T386:;
if((get(car(base[0]),VV[25],Cnil))==Cnil){
goto T393;}
base[1]= get(car(base[0]),VV[25],Cnil);
{object V3;
V3= cdr(base[0]);
vs_top=base+2;
while(!endp(V3))
{vs_push(car(V3));V3=cdr(V3);}
vs_base=base+2;}
super_funcall_no_event(base[1]);
return;
T393:;
if((get(car(base[0]),VV[26],Cnil))==Cnil){
goto T398;}
{object V4;
object V5= cdr(base[0]);
if(endp(V5)){
base[1]= Cnil;
goto T400;}
base[3]=V4=MMcons(Cnil,Cnil);
T401:;
vs_base=vs_top;
Lgensym();
vs_top=sup;
(V4->c.c_car)= vs_base[0];
if(endp(V5=MMcdr(V5))){
base[1]= base[3];
goto T400;}
V4=MMcdr(V4)=MMcons(Cnil,Cnil);
goto T401;}
T400:;
vs_base=vs_top;
Lgensym();
vs_top=sup;
base[2]= vs_base[0];
base[3]= base[1];
base[4]= cdr(base[0]);
base[5]= make_cons(base[2],Cnil);
base[7]= get(car(base[0]),VV[26],Cnil);
base[8]= make_cons(base[2],Cnil);
base[9]= append(base[1],base[8]);
base[6]= make_cons(base[7],base[9]);
base[7]= make_cons(car(base[0]),base[1]);
vs_top=(vs_base=base+3)+5;
return;
T398:;
if((get(car(base[0]),VV[27],Cnil))==Cnil){
goto T411;}
{object V6;
object V7= cdr(base[0]);
if(endp(V7)){
base[1]= Cnil;
goto T413;}
base[2]=V6=MMcons(Cnil,Cnil);
T414:;
vs_base=vs_top;
Lgensym();
vs_top=sup;
(V6->c.c_car)= vs_base[0];
if(endp(V7=MMcdr(V7))){
base[1]= base[2];
goto T413;}
V6=MMcdr(V6)=MMcons(Cnil,Cnil);
goto T414;}
T413:;
vs_base=vs_top;
Lgensym();
vs_top=sup;
base[2]= vs_base[0];
base[3]= get(car(base[0]),VV[27],Cnil);
{object V8= car(base[3]);
base[5]= listA(3,VV[17],cadr(base[3]),cddr(base[3]));
base[6]= list(2,VV[16],base[5]);
base[4]= list(3,VV[17],V8,base[6]);}
base[5]= base[1];
base[6]= cdr(base[0]);
base[7]= make_cons(base[2],Cnil);
base[10]= base[4];
{object V9;
V9= base[1];
vs_top=base+11;
while(!endp(V9))
{vs_push(car(V9));V9=cdr(V9);}
vs_base=base+11;}
super_funcall_no_event(base[10]);
vs_top=sup;
base[9]= vs_base[0];
base[10]= base[2];
vs_top=(vs_base=base+10)+1;
super_funcall_no_event(base[9]);
vs_top=sup;
base[8]= vs_base[0];
base[9]= make_cons(car(base[0]),base[1]);
vs_top=(vs_base=base+5)+5;
return;
T411:;
base[1]= car(base[0]);
vs_top=(vs_base=base+1)+1;
Lmacro_function();
vs_top=sup;
if((vs_base[0])==Cnil){
goto T429;}
base[1]= base[0];
vs_top=(vs_base=base+1)+1;
Lmacroexpand();
vs_top=sup;
base[0]= vs_base[0];
goto TTL;
T429:;
base[1]= VV[28];
base[2]= base[0];
vs_top=(vs_base=base+1)+2;
Lerror();
return;
}
/* function definition for SETF-EXPAND-1 */
static L325()
{ register object *base=vs_base;
register object *sup=base+VM7;
vs_reserve(VM7);
check_arg(2);
vs_top=sup;
TTL:;
base[2]= Cnil;
if(!(type_of(base[0])==t_cons)){
goto T437;}
if(!(car(base[0])==VV[147])){
goto T437;}
base[3]= caddr(base[0]);
base[1]= list(3,VV[147],cadr(base[0]),base[1]);
base[0]= base[3];
goto TTL;
T437:;
if(!(type_of(base[0])==t_symbol)){
goto T445;}
base[3]= list(3,VV[23],base[0],base[1]);
vs_top=(vs_base=base+3)+1;
return;
T445:;
if(!(type_of(car(base[0]))==t_symbol)){
goto T448;}
base[2]= get(car(base[0]),VV[26],Cnil);
if((base[2])==Cnil){
goto T448;}
{object V10= cdr(base[0]);
base[3]= make_cons(base[1],Cnil);
base[4]= append(V10,base[3]);
base[5]= make_cons(base[2],base[4]);
vs_top=(vs_base=base+5)+1;
return;}
T448:;
if(!(type_of(car(base[0]))==t_symbol)){
goto T454;}
base[2]= get(car(base[0]),VV[160],Cnil);
if((base[2])==Cnil){
goto T454;}
if((get(car(base[0]),VV[27],Cnil))==Cnil){
goto T454;}
if(car(base[2])==VV[152]){
goto T454;}
if(car(base[2])==VV[161]){
goto T454;}
{object V11= cadr(base[0]);
base[3]= list(2,VV[2],car(base[2]));
base[4]= list(5,VV[162],V11,base[3],cdr(base[2]),base[1]);
vs_top=(vs_base=base+4)+1;
return;}
T454:;
base[4]= base[0];
vs_top=(vs_base=base+4)+1;
L3();
Llist();
vs_top=sup;
base[3]= vs_base[0];
base[4]= car(base[3]);
base[5]= cadr(base[3]);
base[6]= caddr(base[3]);
base[7]= cadddr(base[3]);
base[8]= car(cddddr(base[3]));
base[11]= append(base[4],base[6]);
base[12]= make_cons(base[1],Cnil);
base[13]= append(base[5],base[12]);
{object V12;
object V13= base[11];
object V14= base[13];
if(endp(V13)||endp(V14)){
base[9]= Cnil;
goto T474;}
base[10]=V12=MMcons(Cnil,Cnil);
T475:;
(V12->c.c_car)= list(2,(V13->c.c_car),(V14->c.c_car));
if(endp(V13=MMcdr(V13))||endp(V14=MMcdr(V14))){
base[9]= base[10];
goto T474;}
V12=MMcdr(V12)=MMcons(Cnil,Cnil);
goto T475;}
T474:;
base[10]= list(3,VV[163],base[9],base[7]);
vs_top=(vs_base=base+10)+1;
return;
}
/* function definition for SETF-EXPAND */
static L326()
{ register object *base=vs_base;
register object *sup=base+VM8;
vs_reserve(VM8);
check_arg(1);
vs_top=sup;
TTL:;
if(!(endp(base[0]))){
goto T478;}
base[1]= Cnil;
vs_top=(vs_base=base+1)+1;
return;
T478:;
if(!(endp(cdr(base[0])))){
goto T481;}
base[1]= VV[164];
base[2]= base[0];
vs_top=(vs_base=base+1)+2;
Lerror();
return;
T481:;
base[2]= car(base[0]);
base[3]= cadr(base[0]);
vs_top=(vs_base=base+2)+2;
L325();
vs_top=sup;
base[1]= vs_base[0];
base[3]= cddr(base[0]);
vs_top=(vs_base=base+3)+1;
L326();
vs_top=sup;
base[2]= vs_base[0];
base[3]= make_cons(base[1],base[2]);
vs_top=(vs_base=base+3)+1;
return;
}
/* macro definition for SETF */
static L327()
{ register object *base=vs_base;
register object *sup=base+VM9;
vs_reserve(VM9);
check_arg(2);
vs_top=sup;
{object V15=base[0]->c.c_cdr;
base[2]= V15;}
if(!(endp(base[2]))){
goto T491;}
base[3]= Cnil;
vs_top=(vs_base=base+3)+1;
return;
T491:;
if(!(endp(cdr(base[2])))){
goto T494;}
base[3]= VV[165];
base[4]= base[2];
vs_top=(vs_base=base+3)+2;
Lerror();
return;
T494:;
if(!(endp(cddr(base[2])))){
goto T499;}
base[3]= car(base[2]);
base[4]= cadr(base[2]);
vs_top=(vs_base=base+3)+2;
L325();
return;
T499:;
base[4]= base[2];
vs_top=(vs_base=base+4)+1;
L326();
vs_top=sup;
base[3]= vs_base[0];
base[4]= make_cons(VV[0],base[3]);
vs_top=(vs_base=base+4)+1;
return;
}
/* macro definition for PSETF */
static L328()
{ register object *base=vs_base;
register object *sup=base+VM10;
vs_reserve(VM10);
check_arg(2);
vs_top=sup;
{object V16=base[0]->c.c_cdr;
base[2]= V16;}
if(!(endp(base[2]))){
goto T506;}
base[3]= Cnil;
vs_top=(vs_base=base+3)+1;
return;
T506:;
if(!(endp(cdr(base[2])))){
goto T509;}
base[3]= VV[166];
base[4]= base[2];
vs_top=(vs_base=base+3)+2;
Lerror();
return;
T509:;
if(!(endp(cddr(base[2])))){
goto T514;}
base[4]= car(base[2]);
base[5]= cadr(base[2]);
vs_top=(vs_base=base+4)+2;
L325();
vs_top=sup;
base[3]= vs_base[0];
base[4]= list(3,VV[0],base[3],Cnil);
vs_top=(vs_base=base+4)+1;
return;
T514:;
base[3]= base[2];
base[4]= Cnil;
base[5]= Cnil;
T520:;
if(!(endp(base[3]))){
goto T521;}
base[6]= nreverse(base[5]);
base[7]= append(base[6],VV[167]);
base[8]= listA(3,VV[163],base[4],base[7]);
vs_top=(vs_base=base+8)+1;
return;
T521:;
if(!(endp(cdr(base[3])))){
goto T525;}
base[6]= VV[168];
base[7]= base[2];
vs_top=(vs_base=base+6)+2;
Lerror();
vs_top=sup;
T525:;
base[7]= car(base[3]);
vs_top=(vs_base=base+7)+1;
L3();
Llist();
vs_top=sup;
base[6]= vs_base[0];
base[7]= car(base[6]);
base[8]= cadr(base[6]);
base[9]= caddr(base[6]);
base[10]= cadddr(base[6]);
base[11]= car(cddddr(base[6]));
base[5]= make_cons(base[10],base[5]);
base[14]= append(base[7],base[9]);
base[15]= make_cons(cadr(base[3]),Cnil);
base[16]= append(base[8],base[15]);
{object V17;
object V18= base[14];
object V19= base[16];
if(endp(V18)||endp(V19)){
base[12]= Cnil;
goto T542;}
base[13]=V17=MMcons(Cnil,Cnil);
T543:;
(V17->c.c_car)= list(2,(V18->c.c_car),(V19->c.c_car));
if(endp(V18=MMcdr(V18))||endp(V19=MMcdr(V19))){
base[12]= base[13];
goto T542;}
V17=MMcdr(V17)=MMcons(Cnil,Cnil);
goto T543;}
T542:;
base[4]= nconc(base[4],base[12]);
base[3]= cddr(base[3]);
goto T520;
}
/* macro definition for SHIFTF */
static L329()
{ register object *base=vs_base;
register object *sup=base+VM11;
vs_reserve(VM11);
check_arg(2);
vs_top=sup;
{object V20=base[0]->c.c_cdr;
base[2]= V20;}
vs_base=vs_top;
Lgensym();
vs_top=sup;
base[7]= vs_base[0];
base[3]= base[2];
base[4]= Cnil;
base[5]= Cnil;
base[6]= Cnil;
base[8]= Cnil;
T550:;
if(!(endp(cdr(base[3])))){
goto T551;}
base[5]= nreverse(base[5]);
base[6]= nreverse(base[6]);
base[8]= nreverse(base[8]);
base[10]= base[4];
base[12]= list(2,base[7],car(base[8]));
base[11]= make_cons(base[12],Cnil);
{object V21;
object V22= base[5];
object V23= cdr(base[8]);
if(endp(V22)||endp(V23)){
base[12]= Cnil;
goto T563;}
base[13]=V21=MMcons(Cnil,Cnil);
T564:;
(V21->c.c_car)= list(2,(V22->c.c_car),(V23->c.c_car));
if(endp(V22=MMcdr(V22))||endp(V23=MMcdr(V23))){
base[12]= base[13];
goto T563;}
V21=MMcdr(V21)=MMcons(Cnil,Cnil);
goto T564;}
T563:;
base[15]= base[5];
vs_top=(vs_base=base+15)+1;
Llast();
vs_top=sup;
base[14]= vs_base[0];
base[15]= list(2,car(base[14]),car(base[3]));
base[13]= make_cons(base[15],Cnil);
vs_top=(vs_base=base+10)+4;
Lnconc();
vs_top=sup;
base[9]= vs_base[0];
base[10]= make_cons(base[7],Cnil);
base[11]= append(base[6],base[10]);
base[12]= listA(3,VV[163],base[9],base[11]);
vs_top=(vs_base=base+12)+1;
return;
T551:;
base[10]= car(base[3]);
vs_top=(vs_base=base+10)+1;
L3();
Llist();
vs_top=sup;
base[9]= vs_base[0];
base[10]= car(base[9]);
base[11]= cadr(base[9]);
base[12]= caddr(base[9]);
base[13]= cadddr(base[9]);
base[14]= car(cddddr(base[9]));
{object V24;
object V25= base[10];
object V26= base[11];
if(endp(V25)||endp(V26)){
base[15]= Cnil;
goto T581;}
base[16]=V24=MMcons(Cnil,Cnil);
T582:;
(V24->c.c_car)= list(2,(V25->c.c_car),(V26->c.c_car));
if(endp(V25=MMcdr(V25))||endp(V26=MMcdr(V26))){
base[15]= base[16];
goto T581;}
V24=MMcdr(V24)=MMcons(Cnil,Cnil);
goto T582;}
T581:;
base[4]= nconc(base[4],base[15]);
base[5]= make_cons(car(base[12]),base[5]);
base[6]= make_cons(base[13],base[6]);
base[8]= make_cons(base[14],base[8]);
base[3]= cdr(base[3]);
goto T550;
}
/* macro definition for ROTATEF */
static L330()
{ register object *base=vs_base;
register object *sup=base+VM12;
vs_reserve(VM12);
check_arg(2);
vs_top=sup;
{object V27=base[0]->c.c_cdr;
base[2]= V27;}
base[3]= base[2];
base[4]= Cnil;
base[5]= Cnil;
base[6]= Cnil;
base[7]= Cnil;
T593:;
if(!(endp(base[3]))){
goto T594;}
base[5]= nreverse(base[5]);
base[6]= nreverse(base[6]);
base[7]= nreverse(base[7]);
base[9]= base[4];
{object V28;
object V29= base[5];
object V30= cdr(base[7]);
if(endp(V29)||endp(V30)){
base[10]= Cnil;
goto T605;}
base[11]=V28=MMcons(Cnil,Cnil);
T606:;
(V28->c.c_car)= list(2,(V29->c.c_car),(V30->c.c_car));
if(endp(V29=MMcdr(V29))||endp(V30=MMcdr(V30))){
base[10]= base[11];
goto T605;}
V28=MMcdr(V28)=MMcons(Cnil,Cnil);
goto T606;}
T605:;
base[13]= base[5];
vs_top=(vs_base=base+13)+1;
Llast();
vs_top=sup;
base[12]= vs_base[0];
base[13]= list(2,car(base[12]),car(base[7]));
base[11]= make_cons(base[13],Cnil);
vs_top=(vs_base=base+9)+3;
Lnconc();
vs_top=sup;
base[8]= vs_base[0];
base[9]= listA(3,VV[163],base[8],base[6]);
vs_top=(vs_base=base+9)+1;
return;
T594:;
base[9]= car(base[3]);
vs_top=(vs_base=base+9)+1;
L3();
Llist();
vs_top=sup;
base[8]= vs_base[0];
base[9]= car(base[8]);
base[10]= cadr(base[8]);
base[11]= caddr(base[8]);
base[12]= cadddr(base[8]);
base[13]= car(cddddr(base[8]));
{object V31;
object V32= base[9];
object V33= base[10];
if(endp(V32)||endp(V33)){
base[14]= Cnil;
goto T623;}
base[15]=V31=MMcons(Cnil,Cnil);
T624:;
(V31->c.c_car)= list(2,(V32->c.c_car),(V33->c.c_car));
if(endp(V32=MMcdr(V32))||endp(V33=MMcdr(V33))){
base[14]= base[15];
goto T623;}
V31=MMcdr(V31)=MMcons(Cnil,Cnil);
goto T624;}
T623:;
base[4]= nconc(base[4],base[14]);
base[5]= make_cons(car(base[11]),base[5]);
base[6]= make_cons(base[12],base[6]);
base[7]= make_cons(base[13],base[7]);
base[3]= cdr(base[3]);
goto T593;
}
/* macro definition for DEFINE-MODIFY-MACRO */
static L331()
{ register object *base=vs_base;
register object *sup=base+VM13;
vs_reserve(VM13);
check_arg(2);
vs_top=sup;
{object V34=base[0]->c.c_cdr;
if(endp(V34))invalid_macro_call();
base[2]= (V34->c.c_car);
V34=V34->c.c_cdr;
if(endp(V34))invalid_macro_call();
base[3]= (V34->c.c_car);
V34=V34->c.c_cdr;
if(endp(V34))invalid_macro_call();
base[4]= (V34->c.c_car);
V34=V34->c.c_cdr;
if(endp(V34)){
base[5]= Cnil;
} else {
base[5]= (V34->c.c_car);
V34=V34->c.c_cdr;}
if(!endp(V34))invalid_macro_call();}
base[7]= base[3];
base[8]= Cnil;
T637:;
if((base[7])!=Cnil){
goto T638;}
base[9]= list(2,VV[2],base[4]);
base[10]= nreverse(base[8]);
base[6]= listA(4,VV[152],base[9],VV[169],base[10]);
goto T635;
T638:;
if(car(base[7])==VV[170]){
goto T642;}
if(!(car(base[7])==VV[171])){
goto T645;}
base[9]= list(2,VV[2],base[4]);
base[10]= nreverse(base[8]);
base[11]= make_cons(cadr(base[7]),Cnil);
base[12]= append(base[10],base[11]);
base[6]= listA(4,VV[172],base[9],VV[169],base[12]);
goto T635;
T645:;
if(!(type_of(car(base[7]))==t_symbol)){
goto T649;}
base[8]= make_cons(car(base[7]),base[8]);
goto T642;
T649:;
base[8]= make_cons(caar(base[7]),base[8]);
T642:;
base[7]= cdr(base[7]);
goto T637;
T635:;
base[7]= make_cons(VV[174],base[3]);
if((base[5])==Cnil){
goto T658;}
base[8]= make_cons(base[5],Cnil);
goto T656;
T658:;
base[8]= Cnil;
T656:;
base[9]= list(4,VV[152],VV[179],VV[174],base[6]);
base[10]= list(3,VV[143],VV[178],base[9]);
base[11]= list(3,VV[177],base[2],base[10]);
base[12]= list(3,VV[175],VV[176],base[11]);
base[13]= list(2,VV[152],base[6]);
base[14]= list(3,VV[151],VV[187],base[13]);
base[15]= list(4,VV[184],VV[185],VV[186],base[14]);
base[16]= list(4,VV[152],VV[183],base[15],VV[188]);
base[17]= list(4,VV[180],VV[181],VV[182],base[16]);
base[18]= list(2,base[12],base[17]);
base[19]= append(base[8],base[18]);
base[20]= listA(4,VV[173],base[2],base[7],base[19]);
vs_top=(vs_base=base+20)+1;
return;
}
/* macro definition for REMF */
static L332()
{ register object *base=vs_base;
register object *sup=base+VM14;
vs_reserve(VM14);
check_arg(2);
vs_top=sup;
{object V35=base[0]->c.c_cdr;
if(endp(V35))invalid_macro_call();
base[2]= (V35->c.c_car);
V35=V35->c.c_cdr;
if(endp(V35))invalid_macro_call();
base[3]= (V35->c.c_car);
V35=V35->c.c_cdr;
if(!endp(V35))invalid_macro_call();}
base[5]= base[2];
vs_top=(vs_base=base+5)+1;
L3();
Llist();
vs_top=sup;
base[4]= vs_base[0];
base[5]= car(base[4]);
base[6]= cadr(base[4]);
base[7]= caddr(base[4]);
base[8]= cadddr(base[4]);
base[9]= car(cddddr(base[4]));
{object V36;
object V37= base[5];
object V38= base[6];
if(endp(V37)||endp(V38)){
base[10]= Cnil;
goto T668;}
base[11]=V36=MMcons(Cnil,Cnil);
T669:;
(V36->c.c_car)= list(2,(V37->c.c_car),(V38->c.c_car));
if(endp(V37=MMcdr(V37))||endp(V38=MMcdr(V38))){
base[10]= base[11];
goto T668;}
V36=MMcdr(V36)=MMcons(Cnil,Cnil);
goto T669;}
T668:;
base[11]= list(2,car(base[7]),VV[189]);
base[12]= list(3,VV[190],base[9],base[3]);
base[13]= list(5,VV[180],base[11],base[12],base[8],VV[189]);
base[14]= list(3,VV[163],base[10],base[13]);
vs_top=(vs_base=base+14)+1;
return;
}
/* macro definition for INCF */
static L333()
{ register object *base=vs_base;
register object *sup=base+VM15;
vs_reserve(VM15);
check_arg(2);
vs_top=sup;
{object V39=base[0]->c.c_cdr;
if(endp(V39))invalid_macro_call();
base[2]= (V39->c.c_car);
V39=V39->c.c_cdr;
if(endp(V39)){
base[3]= VV[10];
} else {
base[3]= (V39->c.c_car);
V39=V39->c.c_cdr;}
if(!endp(V39))invalid_macro_call();}
if(!(type_of(base[2])==t_symbol)){
goto T672;}
base[5]= list(3,VV[191],base[2],base[3]);
base[6]= list(3,VV[23],base[2],base[5]);
vs_top=(vs_base=base+6)+1;
return;
T672:;
base[5]= base[2];
vs_top=(vs_base=base+5)+1;
L3();
Llist();
vs_top=sup;
base[4]= vs_base[0];
base[5]= car(base[4]);
base[6]= cadr(base[4]);
base[7]= caddr(base[4]);
base[8]= cadddr(base[4]);
base[9]= car(cddddr(base[4]));
base[12]= append(base[5],base[7]);
base[13]= list(3,VV[191],base[9],base[3]);
base[14]= make_cons(base[13],Cnil);
base[15]= append(base[6],base[14]);
{object V40;
object V41= base[12];
object V42= base[15];
if(endp(V41)||endp(V42)){
base[10]= Cnil;
goto T683;}
base[11]=V40=MMcons(Cnil,Cnil);
T684:;
(V40->c.c_car)= list(2,(V41->c.c_car),(V42->c.c_car));
if(endp(V41=MMcdr(V41))||endp(V42=MMcdr(V42))){
base[10]= base[11];
goto T683;}
V40=MMcdr(V40)=MMcons(Cnil,Cnil);
goto T684;}
T683:;
base[11]= list(3,VV[163],base[10],base[8]);
vs_top=(vs_base=base+11)+1;
return;
}
/* macro definition for DECF */
static L334()
{ register object *base=vs_base;
register object *sup=base+VM16;
vs_reserve(VM16);
check_arg(2);
vs_top=sup;
{object V43=base[0]->c.c_cdr;
if(endp(V43))invalid_macro_call();
base[2]= (V43->c.c_car);
V43=V43->c.c_cdr;
if(endp(V43)){
base[3]= VV[10];
} else {
base[3]= (V43->c.c_car);
V43=V43->c.c_cdr;}
if(!endp(V43))invalid_macro_call();}
if(!(type_of(base[2])==t_symbol)){
goto T687;}
base[5]= list(3,VV[192],base[2],base[3]);
base[6]= list(3,VV[23],base[2],base[5]);
vs_top=(vs_base=base+6)+1;
return;
T687:;
base[5]= base[2];
vs_top=(vs_base=base+5)+1;
L3();
Llist();
vs_top=sup;
base[4]= vs_base[0];
base[5]= car(base[4]);
base[6]= cadr(base[4]);
base[7]= caddr(base[4]);
base[8]= cadddr(base[4]);
base[9]= car(cddddr(base[4]));
base[12]= append(base[5],base[7]);
base[13]= list(3,VV[192],base[9],base[3]);
base[14]= make_cons(base[13],Cnil);
base[15]= append(base[6],base[14]);
{object V44;
object V45= base[12];
object V46= base[15];
if(endp(V45)||endp(V46)){
base[10]= Cnil;
goto T698;}
base[11]=V44=MMcons(Cnil,Cnil);
T699:;
(V44->c.c_car)= list(2,(V45->c.c_car),(V46->c.c_car));
if(endp(V45=MMcdr(V45))||endp(V46=MMcdr(V46))){
base[10]= base[11];
goto T698;}
V44=MMcdr(V44)=MMcons(Cnil,Cnil);
goto T699;}
T698:;
base[11]= list(3,VV[163],base[10],base[8]);
vs_top=(vs_base=base+11)+1;
return;
}
/* macro definition for PUSH */
static L335()
{ register object *base=vs_base;
register object *sup=base+VM17;
vs_reserve(VM17);
check_arg(2);
vs_top=sup;
{object V47=base[0]->c.c_cdr;
if(endp(V47))invalid_macro_call();
base[2]= (V47->c.c_car);
V47=V47->c.c_cdr;
if(endp(V47))invalid_macro_call();
base[3]= (V47->c.c_car);
V47=V47->c.c_cdr;
if(!endp(V47))invalid_macro_call();}
if(!(type_of(base[3])==t_symbol)){
goto T701;}
base[4]= list(3,VV[193],base[2],base[3]);
base[5]= list(3,VV[23],base[3],base[4]);
vs_top=(vs_base=base+5)+1;
return;
T701:;
base[5]= base[3];
vs_top=(vs_base=base+5)+1;
L3();
Llist();
vs_top=sup;
base[4]= vs_base[0];
base[5]= car(base[4]);
base[6]= cadr(base[4]);
base[7]= caddr(base[4]);
base[8]= cadddr(base[4]);
base[9]= car(cddddr(base[4]));
base[12]= append(base[5],base[7]);
base[13]= list(3,VV[193],base[2],base[9]);
base[14]= make_cons(base[13],Cnil);
base[15]= append(base[6],base[14]);
{object V48;
object V49= base[12];
object V50= base[15];
if(endp(V49)||endp(V50)){
base[10]= Cnil;
goto T712;}
base[11]=V48=MMcons(Cnil,Cnil);
T713:;
(V48->c.c_car)= list(2,(V49->c.c_car),(V50->c.c_car));
if(endp(V49=MMcdr(V49))||endp(V50=MMcdr(V50))){
base[10]= base[11];
goto T712;}
V48=MMcdr(V48)=MMcons(Cnil,Cnil);
goto T713;}
T712:;
base[11]= list(3,VV[163],base[10],base[8]);
vs_top=(vs_base=base+11)+1;
return;
}
/* macro definition for PUSHNEW */
static L336()
{ register object *base=vs_base;
register object *sup=base+VM18;
vs_reserve(VM18);
check_arg(2);
vs_top=sup;
{object V51=base[0]->c.c_cdr;
if(endp(V51))invalid_macro_call();
base[2]= (V51->c.c_car);
V51=V51->c.c_cdr;
if(endp(V51))invalid_macro_call();
base[3]= (V51->c.c_car);
V51=V51->c.c_cdr;
base[4]= V51;}
base[6]= base[3];
vs_top=(vs_base=base+6)+1;
L3();
Llist();
vs_top=sup;
base[5]= vs_base[0];
base[6]= car(base[5]);
base[7]= cadr(base[5]);
base[8]= caddr(base[5]);
base[9]= cadddr(base[5]);
base[10]= car(cddddr(base[5]));
base[13]= append(base[6],base[8]);
base[14]= listA(4,VV[194],base[2],base[10],base[4]);
base[15]= make_cons(base[14],Cnil);
base[16]= append(base[7],base[15]);
{object V52;
object V53= base[13];
object V54= base[16];
if(endp(V53)||endp(V54)){
base[11]= Cnil;
goto T723;}
base[12]=V52=MMcons(Cnil,Cnil);
T724:;
(V52->c.c_car)= list(2,(V53->c.c_car),(V54->c.c_car));
if(endp(V53=MMcdr(V53))||endp(V54=MMcdr(V54))){
base[11]= base[12];
goto T723;}
V52=MMcdr(V52)=MMcons(Cnil,Cnil);
goto T724;}
T723:;
base[12]= list(3,VV[163],base[11],base[9]);
vs_top=(vs_base=base+12)+1;
return;
}
/* macro definition for POP */
static L337()
{ register object *base=vs_base;
register object *sup=base+VM19;
vs_reserve(VM19);
check_arg(2);
vs_top=sup;
{object V55=base[0]->c.c_cdr;
if(endp(V55))invalid_macro_call();
base[2]= (V55->c.c_car);
V55=V55->c.c_cdr;
if(!endp(V55))invalid_macro_call();}
if(!(type_of(base[2])==t_symbol)){
goto T726;}
vs_base=vs_top;
Lgensym();
vs_top=sup;
base[3]= vs_base[0];
base[4]= list(2,VV[29],base[2]);
base[5]= list(2,base[3],base[4]);
base[6]= make_cons(base[5],Cnil);
base[7]= list(2,VV[32],base[2]);
base[8]= list(3,VV[23],base[2],base[7]);
base[9]= list(4,VV[143],base[6],base[8],base[3]);
vs_top=(vs_base=base+9)+1;
return;
T726:;
base[4]= base[2];
vs_top=(vs_base=base+4)+1;
L3();
Llist();
vs_top=sup;
base[3]= vs_base[0];
base[4]= car(base[3]);
base[5]= cadr(base[3]);
base[6]= caddr(base[3]);
base[7]= cadddr(base[3]);
base[8]= car(cddddr(base[3]));
base[11]= append(base[4],base[6]);
base[12]= list(2,VV[32],base[8]);
base[13]= make_cons(base[12],Cnil);
base[14]= append(base[5],base[13]);
{object V56;
object V57= base[11];
object V58= base[14];
if(endp(V57)||endp(V58)){
base[9]= Cnil;
goto T738;}
base[10]=V56=MMcons(Cnil,Cnil);
T739:;
(V56->c.c_car)= list(2,(V57->c.c_car),(V58->c.c_car));
if(endp(V57=MMcdr(V57))||endp(V58=MMcdr(V58))){
base[9]= base[10];
goto T738;}
V56=MMcdr(V56)=MMcons(Cnil,Cnil);
goto T739;}
T738:;
base[10]= list(2,VV[29],base[8]);
base[11]= list(3,VV[195],base[10],base[7]);
base[12]= list(3,VV[163],base[9],base[11]);
vs_top=(vs_base=base+12)+1;
return;
}
/* local function CLOSURE */
static LC343(base0)
register object *base0;
{ register object *base=vs_base;
register object *sup=base+VM20;
vs_reserve(VM20);
check_arg(2);
vs_top=sup;
base[3]= base[1];
vs_top=(vs_base=base+3)+1;
L3();
Llist();
vs_top=sup;
base[2]= vs_base[0];
base[3]= car(base[2]);
base[4]= cadr(base[2]);
base[5]= caddr(base[2]);
base[6]= cadddr(base[2]);
base[7]= car(cddddr(base[2]));
vs_base=vs_top;
Lgensym();
vs_top=sup;
base[8]= vs_base[0];
vs_base=vs_top;
Lgensym();
vs_top=sup;
base[9]= vs_base[0];
base[10]= car(base[5]);
base[11]= make_cons(base[8],base[3]);
base[12]= make_cons(base[0],base[4]);
base[13]= make_cons(base[9],Cnil);
base[15]= list(4,VV[159],base[9],base[8],base[7]);
base[16]= list(2,base[10],base[15]);
base[17]= make_cons(base[16],Cnil);
base[14]= list(4,VV[143],base[17],base[6],base[9]);
base[15]= list(3,VV[158],base[8],base[7]);
vs_top=(vs_base=base+11)+5;
return;
}
/* local function CLOSURE */
static LC342(base0)
register object *base0;
{ register object *base=vs_base;
register object *sup=base+VM21;
vs_reserve(VM21);
check_arg(2);
vs_top=sup;
base[3]= base[1];
vs_top=(vs_base=base+3)+1;
L3();
Llist();
vs_top=sup;
base[2]= vs_base[0];
base[3]= car(base[2]);
base[4]= cadr(base[2]);
base[5]= caddr(base[2]);
base[6]= cadddr(base[2]);
base[7]= car(cddddr(base[2]));
vs_base=vs_top;
Lgensym();
vs_top=sup;
base[8]= vs_base[0];
vs_base=vs_top;
Lgensym();
vs_top=sup;
base[9]= vs_base[0];
base[10]= car(base[5]);
base[11]= make_cons(base[8],base[3]);
base[12]= make_cons(base[0],base[4]);
base[13]= make_cons(base[9],Cnil);
base[15]= list(4,VV[157],base[9],base[8],base[7]);
base[16]= list(2,base[10],base[15]);
base[17]= make_cons(base[16],Cnil);
base[14]= list(4,VV[143],base[17],base[6],base[9]);
base[15]= list(3,VV[156],base[8],base[7]);
vs_top=(vs_base=base+11)+5;
return;
}
/* local function CLOSURE */
static LC341(base0)
register object *base0;
{ register object *base=vs_base;
register object *sup=base+VM22;
vs_reserve(VM22);
check_arg(2);
vs_top=sup;
base[3]= base[0];
vs_top=(vs_base=base+3)+1;
L3();
Llist();
vs_top=sup;
base[2]= vs_base[0];
base[3]= car(base[2]);
base[4]= cadr(base[2]);
base[5]= caddr(base[2]);
base[6]= cadddr(base[2]);
base[7]= car(cddddr(base[2]));
vs_base=vs_top;
Lgensym();
vs_top=sup;
base[8]= vs_base[0];
vs_base=vs_top;
Lgensym();
vs_top=sup;
base[9]= vs_base[0];
base[10]= car(base[5]);
base[11]= make_cons(base[8],base[3]);
base[12]= make_cons(base[1],base[4]);
base[13]= make_cons(base[9],Cnil);
base[15]= list(4,VV[155],base[7],base[8],base[9]);
base[16]= list(2,base[10],base[15]);
base[17]= make_cons(base[16],Cnil);
base[14]= list(4,VV[143],base[17],base[6],base[9]);
base[15]= list(3,VV[154],base[7],base[8]);
vs_top=(vs_base=base+11)+5;
return;
}
/* local function CLOSURE */
static LC340(base0)
register object *base0;
{ register object *base=vs_base;
register object *sup=base+VM23;
vs_reserve(VM23);
if(vs_top-vs_base<1) too_few_arguments();
vs_base=vs_base+1;
vs_top[0]=Cnil;
{object *p=vs_top;
for(;p>vs_base;p--)p[-1]=MMcons(p[-1],p[0]);}
vs_top=sup;
if(!(type_of(base[0])==t_cons)){
goto T790;}
if(car(base[0])==VV[16]){
goto T793;}
if(!(car(base[0])==VV[2])){
goto T790;}
T793:;
if(!(type_of(cadr(base[0]))==t_symbol)){
goto T790;}
if((cddr(base[0]))==Cnil){
goto T789;}
T790:;
base[2]= VV[149];
base[3]= base[0];
vs_top=(vs_base=base+2)+2;
Lerror();
vs_top=sup;
T789:;
base[3]= make_cons(cadr(base[0]),base[1]);
vs_top=(vs_base=base+3)+1;
L3();
Llist();
vs_top=sup;
base[2]= vs_base[0];
base[3]= car(base[2]);
base[4]= cadr(base[2]);
base[5]= caddr(base[2]);
base[6]= cadddr(base[2]);
base[7]= car(cddddr(base[2]));
base[9]= base[6];
vs_top=(vs_base=base+9)+1;
Llast();
vs_top=sup;
base[8]= vs_base[0];
{object V59= car(base[8]);
base[10]= base[3];
vs_top=(vs_base=base+10)+1;
Llast();
vs_top=sup;
base[9]= vs_base[0];
if(!(V59==car(base[9]))){
goto T811;}}
base[8]= base[3];
base[9]= base[4];
base[10]= base[5];
base[12]= list(2,VV[16],car(base[6]));
base[11]= listA(3,VV[148],base[12],cdr(base[6]));
base[13]= list(2,VV[16],cadr(base[0]));
base[12]= listA(3,VV[148],base[13],cdr(base[7]));
vs_top=(vs_base=base+8)+5;
return;
T811:;
base[10]= base[6];
vs_top=(vs_base=base+10)+1;
Lbutlast();
vs_top=sup;
base[9]= vs_base[0];
vs_top=(vs_base=base+9)+1;
Llast();
vs_top=sup;
base[8]= vs_base[0];
{object V60= car(base[8]);
base[10]= base[3];
vs_top=(vs_base=base+10)+1;
Llast();
vs_top=sup;
base[9]= vs_base[0];
if(!(V60==car(base[9]))){
goto T823;}}
base[8]= base[3];
base[9]= base[4];
base[10]= base[5];
base[12]= list(2,VV[16],car(base[6]));
base[14]= base[6];
base[15]= VV[150];
vs_top=(vs_base=base+14)+2;
Lbutlast();
vs_top=sup;
base[13]= vs_base[0];
{object V61= cdr(base[13]);
base[16]= base[6];
vs_top=(vs_base=base+16)+1;
Lbutlast();
vs_top=sup;
base[15]= vs_base[0];
vs_top=(vs_base=base+15)+1;
Llast();
vs_top=sup;
base[14]= vs_base[0];
{object V62= car(base[14]);
base[16]= base[6];
vs_top=(vs_base=base+16)+1;
Llast();
vs_top=sup;
base[15]= vs_base[0];
base[16]= list(2,VV[152],car(base[15]));
base[17]= list(3,VV[151],V62,base[16]);
base[18]= make_cons(base[17],Cnil);
base[19]= append(V61,base[18]);
base[11]= listA(3,VV[148],base[12],base[19]);}}
base[13]= list(2,VV[16],cadr(base[0]));
base[12]= listA(3,VV[148],base[13],cdr(base[7]));
vs_top=(vs_base=base+8)+5;
return;
T823:;
base[8]= VV[153];
base[9]= base[0];
vs_top=(vs_base=base+8)+2;
Lerror();
return;
}
/* local function CLOSURE */
static LC339(base0)
register object *base0;
{ register object *base=vs_base;
register object *sup=base+VM24;
vs_reserve(VM24);
check_arg(2);
vs_top=sup;
base[3]= base[1];
vs_top=(vs_base=base+3)+1;
L3();
Llist();
vs_top=sup;
base[2]= vs_base[0];
base[3]= car(base[2]);
base[4]= cadr(base[2]);
base[5]= caddr(base[2]);
base[6]= cadddr(base[2]);
base[7]= car(cddddr(base[2]));
vs_base=vs_top;
Lgensym();
vs_top=sup;
base[8]= vs_base[0];
base[9]= base[3];
base[10]= base[4];
base[11]= make_cons(base[8],Cnil);
{object V63= car(base[5]);
base[13]= list(3,VV[147],base[0],base[8]);
base[14]= list(2,V63,base[13]);
base[15]= make_cons(base[14],Cnil);
base[12]= list(3,VV[143],base[15],base[6]);}
base[13]= list(3,VV[147],base[0],base[7]);
vs_top=(vs_base=base+9)+5;
return;
}
/* local function CLOSURE */
static LC338(base0)
register object *base0;
{ register object *base=vs_base;
register object *sup=base+VM25;
vs_reserve(VM25);
if(vs_top-vs_base<2) too_few_arguments();
if(vs_top-vs_base>3) too_many_arguments();
vs_base=vs_base+2;
if(vs_base>=vs_top){vs_top=sup;goto T859;}
vs_top=sup;
goto T860;
T859:;
base[2]= Cnil;
T860:;
base[4]= base[0];
vs_top=(vs_base=base+4)+1;
L3();
Llist();
vs_top=sup;
base[3]= vs_base[0];
base[4]= car(base[3]);
base[5]= cadr(base[3]);
base[6]= caddr(base[3]);
base[7]= cadddr(base[3]);
base[8]= car(cddddr(base[3]));
vs_base=vs_top;
Lgensym();
vs_top=sup;
base[9]= vs_base[0];
vs_base=vs_top;
Lgensym();
vs_top=sup;
base[10]= vs_base[0];
base[12]= make_cons(base[9],Cnil);
base[11]= append(base[4],base[12]);
base[13]= make_cons(base[1],Cnil);
base[12]= append(base[5],base[13]);
base[13]= make_cons(base[10],Cnil);
{object V64= car(base[6]);
base[15]= list(4,VV[144],base[8],base[10],base[9]);
base[16]= list(2,V64,base[15]);
base[17]= make_cons(base[16],Cnil);
base[14]= list(4,VV[143],base[17],base[7],base[10]);}
base[15]= list(4,VV[142],base[8],base[9],base[2]);
vs_top=(vs_base=base+11)+5;
return;
}